package com.caineng.zhaobiao.zbapi.domain;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.data.mongodb.core.index.CompoundIndex;
import org.springframework.data.mongodb.core.index.Indexed;
import org.springframework.data.mongodb.core.mapping.Document;

import java.io.Serializable;
import java.util.List;

/**
 * 带资质的企业
 */
@Document(collection = "cai_quali_company")
@Data
@CompoundIndex( def = "{'companyBaseInfo': 1, 'companyBusinessScope': 1, 'companyLegalPersonName': 1 , 'companyName':1}")
public class CaiQualiCompany implements Serializable {
    /**
     * 主键
     */
    @ApiModelProperty(value = "主键",notes = "主键")
    private String _id;

    /**
     * 企业简称
     */
    @Indexed
    @ApiModelProperty(value = "企业简称")
    private String companyAlias;

    /**
     *
     */
    @ApiModelProperty(value = "审核时间")
    private String companyApprovedTime;

    /**
     *
     */
    @ApiModelProperty(value = "企业简介")
    private String companyBaseInfo;

    /**
     *
     */
    @ApiModelProperty(value = "经营范围")
    private String companyBusinessScope;

    /**
     *
     */
    @Indexed(unique = true)
    @ApiModelProperty(value = "企业ID")
    private String companyCid;

    /**
     *
     */
    @Indexed
    @ApiModelProperty(value = "城市")
    private String companyCity;

    /**
     *
     */
    @Indexed
    @ApiModelProperty(value = "区县")
    private String companyCounty;

    /**
     *
     */
    @ApiModelProperty(value = "组织机构代码")
    private String companyCreditCode;

    /**
     *
     */
    @ApiModelProperty(value = "邮箱列表")
    private String companyEmailList;

    /**
     *
     */
    @ApiModelProperty(value = "营业期限开始")
    private String companyFromTime;

    /**
     *
     */
    @Indexed
    @ApiModelProperty(value = "曾用名")
    private String companyHistoryNames;

    /**
     *
     */
    @ApiModelProperty(value = "所属行业")
    private String companyIndustry;

    /**
     *
     */
    @ApiModelProperty(value = "加入系统时间")
    private String companyInsertTime;

    /**
     *
     */
    @ApiModelProperty(value = "地理纬度")
    private String companyLatitude;

    /**
     *
     */
    @Indexed
    @ApiModelProperty(value = "法人代表")
    private String companyLegalPersonName;

    /**
     *
     */
    @ApiModelProperty(value = "地理经度")
    private String companyLongitude;

    /**
     *
     */
    @Indexed
    @ApiModelProperty(value = "企业名称")
    private String companyName;

    /**
     *
     */
    @ApiModelProperty(value = "电话")
    private String companyPhoneNum;

    /**
     *
     */
    @Indexed
    @ApiModelProperty(value = "省份")
    private String companyProvince;

    /**
     *
     */
    @ApiModelProperty(value = "注册资本详情")
    private String companyRegCapital;

    /**
     *
     */
    @ApiModelProperty(value = "注册资本")
    private Double companyRegCapitalAmount;

    /**
     *
     */
    @ApiModelProperty(value = "货币单位")
    private String companyRegCapitalCurrency;

    /**
     *
     */
    @ApiModelProperty(value = "登记机关")
    private String companyRegInstitute;

    /**
     *
     */
    @ApiModelProperty(value = "注册地")
    private String companyRegLocation;

    /**
     *
     */
    @ApiModelProperty(value = "存续状态")
    private String companyRegStatus;

    /**
     *
     */
    @ApiModelProperty(value = "企业人员数量")
    private String companySocialStaffNum;

    /**
     *
     */
    @ApiModelProperty(value = "传真")
    private String companyTaxAddress;

    /**
     *
     */
    @ApiModelProperty(value = "营业期限到期")
    private String companyToTime;

    /**
     *
     */
    @ApiModelProperty(value = "企业类型")
    private String companyType;

    /**
     *
     */
    @ApiModelProperty(value = "更新时间")
    private String companyUpdateTime;

    @ApiModelProperty(value = "企业网站")
    private String companyWebSite;

    @ApiModelProperty(value = "企业变更记录数")
    private Integer companyChangeRecordListSize ;

    @ApiModelProperty(value = "企业中标记录数")
    private Integer companyBiddingListSize ;

    @ApiModelProperty(value = "企业主要人员数")
    private Integer companyMainStuffListSize ;

    @ApiModelProperty(value = "企业注册人员数")
    private Integer companyRegisteredPersonnelDetailsListSize ;

    @ApiModelProperty(value = "企业资质数")
    private Integer companyQualificationDetailsListSize ;

    @ApiModelProperty(value = "企业业绩数")
    private Integer companyProjectDetailsListSize ;


    @ApiModelProperty(value = "税务信用等级数")
    private Integer companyCreditRateListSize ;

    @ApiModelProperty(value = "对外投资数")
    private Integer companyInvestListSize ;

    /**
     *
     */
    @ApiModelProperty(value = "监理资质")
    private String jianLi;

    /**
     *
     */
    @ApiModelProperty(value = "建筑资质")
    private String jianZhu;

    /**
     *
     */
    @ApiModelProperty(value = "勘察资质")
    private String kanCa;

    /**
     *
     */
    @ApiModelProperty(value = "其他")
    private String qiTa;

    /**
     *
     */
    @ApiModelProperty(value = "设计资质")
    private String sheJi;

    /**
     *
     */
    @ApiModelProperty(value = "设计与施工一体化资质")
    private String sheJi_shiGong;

    /**
     *
     */
    @ApiModelProperty(value = "造价资质")
    private String zaoJia;

    @Indexed
    @ApiModelProperty(value = "该企业所拥有的资质")
    private List qualification;

    private static final long serialVersionUID = 1L;
}

